Реалізація генетичних алгоритмів нейрокомп`ютера

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

План
Введення. 2
Історія появи еволюційних алгоритмів. 4
Нейрокомп'ютерні дослідження в Росії. 7
Генетичні алгоритми .. 10
Реалізація генетичних алгоритмів. 13
Застосування генетичних алгоритмів. 16
Символьна модель простого генетичного алгоритму. 18
Робота простого генетичного алгоритму. 20
Шима (schema) 22
Теорема шим. 24
Перспективні напрямки розвитку нейрокомп'ютерних технологій. 26
Висновок. 30
Література. 32

Введення

Поряд з розвитком персональних ЕОМ, мереж ЕОМ і високопродуктивних суперЕОМ традиційної архітектури в останні роки істотно підвищився інтерес до розробки і створення комп'ютерів нетрадиційного типу і, перш за все, нейрокомп'ютерів. Пов'язано це з тим, що, незважаючи на високу продуктивність сучасних суперЕОМ, що наближається до гранично допустимої, все ще залишається багато практично важливих проблем, для вирішення яких потрібні більш потужні і більш гнучкі обчислювальні засоби. Вони необхідні для глобального моделювання процесів в екосистемах, при вирішенні завдань нейрофізіології, штучного інтелекту, метеорології, сейсмології і т. п. Необхідні вони і при створенні систем управління адаптивних інтелектуальних роботів.
Бортові ЕОМ таких роботів повинні сприймати великі обсяги інформації, що надходить від багатьох паралельно функціонують датчиків, ефективно обробляти цю інформацію і формувати керуючі впливу на виконавчі системи в реальному масштабі часу. Більш того, керуючі комп'ютери інтелектуальних роботів повинні оперативно вирішувати задачі розпізнавання образів, самонавчання, самооптимізації, самопрограмування, тобто ті завдання, які досить складні для традиційних ЕОМ і суперЕОМ. Тому залишається актуальною необхідність у пошуку нових підходів до побудови високопродуктивних ЕОМ нетрадиційної архітектури. Серед таких підходів центральне місце займає нейрокомп'ютерних підхід.
Його суть полягає в розробці принципів побудови нових мозкоподібні архітектур надпродуктивних обчислювальних систем - нейрокомп'ютерів. Подібно мозку, такі системи повинні мати глобальним паралелізмом, самонавчанням, самооптимізації, самопрограмування та іншими властивостями біологічних систем. Очікується, що нейрокомп'ютери в принципі зможуть вирішити багато з тих проблем, які стримують подальший розвиток науково-технічного прогресу.
За сучасними уявленнями нейрокомп'ютер - це система, призначена для організації нейровичісленій шляхом відтворення інформаційних процесів, що протікають в нейронних мережах мозку. Структурною одиницею служить специфічний процесор - нейропроцесор_в, що імітує інформаційне функціонування окремих нервових клітин - нейронів. Нейропроцесор_в зв'язуються один з одним на нейроподібні структури, що імітують нейронні мережі мозку. З цієї причини, чим точніше НП відтворює інформаційну діяльність нервових клітин, і чим ближче конфігурації штучних нейронних мереж до конфігурацій мереж природних, тим більше шансів відтворити в нейрокомп'ютера самонавчання, самопрограмування та інші властивості живих систем.
З точки зору обчислювальної техніки, кожен нейропроцесор_в представляє собою спеціалізований процесорний пристрій, що реалізовується програмним, апаратним або програмно-апаратним способом. У той же час цей пристрій має ряд особливостей. По-перше, він відтворює не довільно вибраний набір операцій, а лише ті операції, які біологічно обумовлені і необхідні для опису процесів переробки інформації в нервових клітинах. По-друге, при апаратній реалізації нейропроцесор_в вони, подібно нейронам мозку, зв'язуються один з одним індивідуальними лініями передач послідовних кодів. При великому числі процесорних елементів така зв'язок більш ефективна, ніж зв'язок нейропроцесор_в по загальній шині або за допомогою індивідуальних паралельних шин.
Ці та інші особливості нейропроцесор_в дозволяють виділити їх у самостійний клас процесорних пристроїв обчислювальної техніки.

Історія появи еволюційних алгоритмів

Природа вражає своєю складністю і багатством всіх своїх проявів. Серед прикладів можна назвати складні соціальні системи, імунні і нейронні системи, складні взаємозв'язки між видами. Вони - всього лише деякі з чудес, що стали більш очевидні, коли ми стали глибше досліджувати себе самих і світ навколо нас. Наука - це одна з змінюють один одного систем віри, якими ми намагається пояснювати те, що спостерігаємо, цим самим змінюючи себе, щоб пристосуватися до нової інформації, одержуваної з зовнішнього світу. Багато чого з того, що ми бачимо і спостерігаємо, можна пояснити єдиною теорією: теорією еволюції через спадковість, мінливість і відбір.
Еволюційна теорія стверджує, що кожен біологічний вид цілеспрямовано розвивається і змінюється у тому, щоб найкращим чином пристосуватися до навколишнього середовища. У процесі еволюції багато видів комах і риб придбали захисну забарвлення, їжак став невразливим завдяки голок, людина стала володарем найскладнішої нервової системи. Можна сказати, що еволюція - це процес оптимізації всіх живих організмів. Розглянемо, які ж кошти природа вирішує цю задачу оптимізації.
Основний механізм еволюції - це природний відбір. Його суть полягає в тому, що більш пристосовані особини мають більше можливостей для виживання і розмноження і, отже, приносять більше потомства, ніж погано пристосовані особини. При цьому завдяки передачі генетичної інформації (генетичному спадкуванню) нащадки успадковують від батьків основні їх якості. Таким чином, нащадки сильних індивідуумів також будуть відносно добре пристосованими, а їх частка в загальній масі особин зростатиме. Після зміни кількох десятків або сотень поколінь середня пристосованість особин цього виду помітно зростає.
Теорія еволюції вплинула на зміну світогляду людей із самої своєї появи. Теорія, яку Чарльз Дарвін представив у роботі, відомої як "Походження Видів", в 1859 році, стала початком цієї зміни. Багато області наукового знання в даний час насолоджуються свободою думки в атмосфері, яка багатьом зобов'язана революції, викликаної теорією еволюції і розвитку. Але Дарвін, подібно багатьом своїм сучасникам, хто припускав, що в основі розвитку лежить природний відбір, не міг не помилятися. Наприклад, він не зміг показати механізм успадкування, при якому підтримується мінливість. Його гіпотеза про пангенезіса виявилася неправильною. Це було на п'ятдесят років до того, як теорія спадковості почала поширюватися по світу, і за тридцять років до того, як "еволюційний синтез" зміцнив зв'язок між теорією еволюції та відносно молодий наукою генетикою. Однак Дарвін виявив головний механізм розвитку: відбір у поєднанні з мінливістю або, як він його називав, "спуск з модифікацією". У багатьох випадках, специфічні особливості розвитку через мінливість і відбір все ще не безперечні, однак, основні механізми пояснюють неймовірно широкий спектр явищ, які спостерігаються в Природі.
Тому не дивно, що вчені, які займаються комп'ютерними дослідженнями, звернулися до теорії еволюції в пошуках натхнення. Можливість того, що обчислювальна система, наділена простими механізмами мінливості і відбору, могла б функціонувати за аналогією з законами еволюції в природних системах, була дуже приваблива. Ця надія стала причиною появи ряду обчислювальних систем, побудованих на принципах природного відбору.
Історія еволюційних обчислень почалася з розробки ряду різних незалежних моделей. Основними з них були генетичні алгоритми і класифікаційні системи Голланда (Holland), опубліковані на початку 60-х років і отримали загальне визнання після виходу в світ книги, що стала класикою в цій області, - "Адаптація в природних і штучних системах" ("Adaptation in Natural and Artifical Systems ", 1975). У 70-х роках в рамках теорії випадкового пошуку Л. А. Растрігіним був запропонований ряд алгоритмів, що використовують ідей біонічного поведінки особин. Розвиток цих ідей знайшов відображення у циклі творів І. Л. Букатова по еволюційному моделювання. Розвиваючи ідеї М.Л. Цетлін про доцільний і оптимальному поведінці стохастичних автоматів, Ю. І. Неймарк запропонував здійснювати пошук глобального екстремуму на основі колективу незалежних автоматів, моделюючих процеси розвитку та елімінації особин. Великий внесок у розвиток еволюційного програмування внесли Фогел (Fogel) і Уолш (Walsh). Незважаючи на різницю у підходах, кожна з цих "шкіл" взяла за основу низку принципів, що існують у природі, і спростила їх до такої міри, щоб їх можна було реалізувати на комп'ютері.
Головні труднощі з можливістю побудови обчислювальних систем, заснованих на принципах природного відбору і застосуванням цих систем у прикладних задачах, полягає в тому, що природні системи досить хаотичні, а всі наші дії, фактично, носять чітку спрямованість. Ми використовуємо комп'ютер як інструмент для вирішення певних завдань, які ми самі і формулюємо, і ми акцентуємо увагу на максимально швидкому виконанні при мінімальних витратах. Природні системи не мають ніяких таких цілей чи обмежень, у всякому разі, нам вони не очевидні. Виживання в природі не спрямоване до деякої фіксованої мети, замість цього еволюція робить крок вперед у будь-якому доступному її напрямку.
Можливо це велике узагальнення, але я вважаю, що зусилля, спрямовані на моделювання еволюції за аналогією з природними системами, до теперішнього часу можна розбити на дві великі категорії:
1) системи, які змодельовані на біологічних принципах. Вони успішно використовувалися для завдань типу функціональної оптимізації і можуть легко бути описані на небіологічних мовою,
2) системи, які є біологічно більш реалістичними, але які не виявилися особливо корисними в прикладному сенсі. Вони більше схожі на біологічні системи і менш спрямовані (або не спрямовані зовсім). Вони мають складний і цікавим поведінкою, і, мабуть, незабаром отримають практичне застосування.
Звичайно, на практиці ми не можемо розділяти ці речі так строго. Ці категорії - просто два полюси, між якими лежать різні обчислювальні системи. Ближче до першого полюса - еволюційні алгоритми, такі як Еволюційне Програмування (Evolutionary Programming), Генетичні Алгоритми (Genetic Algorithms) і Еволюційні Стратегії (Evolution Strategies). Ближче до другого полюса - системи, які можуть бути класифіковані як Штучна Життя (Artificial Life).
Звичайно, еволюція біологічних систем не єдиний "джерело натхнення" творців нових методів, що моделюють природні процеси. Нейронні мережі (neural networks), наприклад, засновані на моделюванні поведінки нейронів у мозку. Вони можуть використовуватися для ряду задач класифікації, наприклад, задачі розпізнавання образів, машинного навчання, обробки зображень і ін Область їх застосування частково перекривається зі сферою застосування генетичних алгоритмів.

Нейрокомп'ютерні дослідження в Росії

Нейрокомпьютинг, як новий напрямок науки, веде свою історію з середини 40-х, коли Маккаллок і Піттс опублікували свою роботу "Логічне числення ідей, що відносяться до нервової активності", в якій виклали принципи функціонування штучного нейрона. Подальші дослідження в 50-х - 60-х роках у світі і в нашій країні підігріли інтерес до цієї нової галузі науки. Вихід у світ фундаментальних робіт Мінського, в яких він теоретично довів, що окремі нейронні парадигми не здатні вирішувати деякі завдання, зокрема, за допомогою одношарового персептрона не можна вирішити завдання "виключає або", фактично загальмував розвиток нейрокомп'ютингу, практичний інтерес до нейронних мереж швидко згас і перемістився у теоретичну площину.
Таке положення зберігалося майже три десятки років, до середини 80-х. Кінець 80-х - початок 90-х характеризуються спочатку боязким, а потім бурхливим відродженням інтересу до нейронних мереж у всьому світі. У Росії його масовий сплеск проявиться пізніше - років через п'ять, у середині 90-х. А у світі події розвиваються досить бурхливо. Різко збільшується число конференцій з нейронної тематиці, регулярно проводяться конференції IEEE, присвячені виключно нейронних мереж, секції по нейронної тематиці починають з'являтися в різних симпозіумах, присвячених обробці сигналів, робототехніці, авіоніки і т.д. Лавиноподібно наростає обсяг літератури, випускаються спочатку десятки, а потім сотні книг по нейронних мереж. А в Росії - тиша, лише окремі колективи або продовжують займатися дослідженнями в галузі нейрокомп'ютингу, як робили це вже багато років, або, відстеживши сплеск інтересу, починають займатися цією тематикою. Але вже до 1992 року таких колективів було не так вже й мало.
Зрозуміло, перелічити всіх, хто в той час займався нейрокомп'ютингу неможливо, оскільки, крім представлених відомих імен, існувало безліч невеликих наукових колективів і груп, що працюють у цій галузі. Справа в тому, що Нейрокомп'ютерні дослідження в Росії проводилися розрізнено, окремі колективи не знали про розробки колег з інших міст, що, безсумнівно, йшло на шкоду розвитку нейрокомп'ютингу в Росії. Скажімо, професор Горбань з Красноярська був свого часу дуже здивований тим, що в Москві серйозно займаються нейрокомп'ютерним дослідженнями. У відповідь здивування було і з боку столичних розробників. І такі випадки не були рідкістю.
До 1992 року було створено Російське товариство по нейронних мереж (RNNS) - за аналогією зі Світовим суспільством по нейронних мереж (WNNS). Під його егідою в жовтні 1992 року в Ростові-на-Дону відбулася перша Міжнародна конференція з нейроінформатіке і нейрокомп'ютингу. Учасниками тій конференції стали такі гранди нейрокомп'ютингу, як Роберт Хехт-Нільсен, глава компанії HNC, що займається випуском нейрокомп'ютерів, Роберт Маркс, координатор IEEE по нейронних мереж, Дональд Вюнш, який представляв корпорацію Boeing і ін Спілкування з ними виявилося вельми корисним для російських учасників конференції .
Роком раніше на базі Донецького Державного Університету була проведена Всеросійська студентська олімпіада з нейрокомп'ютингу. На жаль, перша олімпіада виявилася й останньою. А шкода, адже зараз у багатьох вітчизняних вузах читаються курси з нейрокомп'ютингу, причому викладання ведеться різними науковими школами, і було б дуже цікаво провести чергову всеросійську олімпіаду, яка була б корисна всім. На жаль, поки це залишається мрією. Починаючи з 1993 року, в Красноярську щорічно проводиться конференція з нейрокомп'ютингу, доповіді на яку надсилаються з усієї країни. Вона фактично стала першою регулярної російської конференцією по нейронних мереж. У МІФІ стали щорічно проводити школу-семінар "Нейроінформатика", яка переросла згодом в всеросійський конференцію. Пройшли також декілька спеціалізованих семінарів з нейронної тематики (як, наприклад, спільний російсько-британський семінар "Нейроінформатика-90"). Не можна сказати, що в Росії зовсім вже не приділяли уваги нейронних мереж, але досліджень проводилося мало.
Із затримкою майже на п'ять років нейрокомп'ютерних бум докотився, нарешті, і до Росії. Почав видаватися досить великий обсяг літератури з нейрокомп'ютингу, в тому числі і перекладної, випускаються періодичні журнали, проводяться конференції. У країні назріло "нейрокомп'ютерних вибух".

Генетичні алгоритми

Нейронні мережі були створені в результаті спостереження за природними процесами, що відбуваються в нервовій системі живих істот, і спроб відтворення цих процесів. Термін нейрон, що позначає основний виконавчий елемент штучних нейронних мереж, був безпосередньо запозичений з теорії природних нервових систем.
Аналогічно, генетичні алгоритми виникли в результаті спостереження і спроб копіювання природних процесів, що відбуваються в світі живих організмів, зокрема, еволюції і пов'язаної з нею селекції (природного відбору) популяцій живих істот. Звичайно, при подібному зіставленні нейронних мереж і генетичних алгоритмів слід звертати увагу на принципово різну тривалість протікання згадуються природних процесів, тобто на надзвичайно швидку обробку інформації в нервовій системі і дуже повільний процес природної еволюції. Однак при комп'ютерному моделюванні ці відмінності виявляються несуттєвими.
Ідею генетичних алгоритмів висловив Дж. Холланд в кінці шістдесятих - початку сімдесятих років XX століття. Він зацікавився властивостями процесів природної еволюції (в тому числі фактом, що еволюціонують хромосоми, а не самі живі істоти). Холланд був упевнений у можливості скласти і реалізувати у вигляді комп'ютерної програми алгоритм, який буде вирішувати складні завдання так, як це робить природа - шляхом еволюції. Тому він почав працювати над алгоритмами, що оперували послідовностями двійкових цифр (одиниць і нулів), які отримали назву хромосом. Ці алгоритми імітували еволюційні процеси в поколіннях таких хромосом. У них були реалізовані механізми селекції та репродукції, аналогічні вживаним при природній еволюції. Так само, як і в природі, генетичні алгоритми здійснювали пошук "хороших" хромосом без використання будь-якої інформації про характер розв'язуваної задачі. Була потрібна тільки якась оцінка кожної хромосоми, що відображає її пристосованість. Механізм селекції полягає у виборі хромосом з найвищою оцінкою (тобто найбільш пристосованих), які репродукують частіше, ніж особини з більш низькою оцінкою (гірше пристосовані). Репродукція означає створення нових хромосом в результаті рекомбінації генів батьківських хромосом. Рекомбінація - це процес, в результаті якого виникають нові комбінації генів. Для цього використовуються дві операції: схрещування, що дозволяє створити дві абсолютно нові хромосоми нащадків шляхом комбінування генетичного матеріалу пари батьків, а також мутація, яка може викликати зміни в окремих хромосомах.
У генетичних алгоритмах застосовується ряд термінів, запозичених з генетики, перш за все гени і хромосоми, а також популяція, особина, алель, генотип, фенотип.
Генетичні алгоритми застосовуються при розробці програмного забезпечення, в системах штучного інтелекту, оптимізації, штучних нейронних мережах та в інших галузях знань. Слід зазначити, що з їх допомогою вирішуються завдання, для яких раніше використовувалися тільки нейронні мережі. У цьому випадку генетичні алгоритми виступають просто в ролі незалежного від нейронних мереж альтернативного методу, призначеного для вирішення того ж самого завдання. Генетичні алгоритми часто використовуються спільно з нейронними мережами. Вони можуть підтримувати нейронні мережі або навпаки, або обидва методи взаємодіють у рамках гібридної системи, призначеної для вирішення конкретного завдання. Генетичні алгоритми також застосовуються спільно з нечіткими системами.
Генетичні Алгоритми - адаптивні методи пошуку, які останнім часом часто використовуються для вирішення задач функціональної оптимізації. Вони засновані на генетичних процесах біологічних організмів: біологічні популяції розвиваються протягом декількох поколінь, підкоряючись законам природного відбору і за принципом "виживає найбільш пристосований" відкритого Чарльзом Дарвіном. Наслідуючи цьому процесу генетичні алгоритми здатні "розвивати" рішення реальних завдань, якщо ті відповідним чином закодовані. Наприклад, генетичні алгоритми можуть використовуватися, щоб проектувати структури моста, для пошуку максимального відношення міцності / ваги, або визначати найменш марнотратне розміщення для нарізки форм з тканини. Вони можуть також використовуватися для інтерактивного управління процесом, наприклад на хімічному заводі, або балансуванні завантажень многопроцессорном комп'ютері. Цілком реальний приклад: ізраїльська компанія Schema розробила програмний продукт Channeling для оптимізації роботи стільникового зв'язку шляхом вибору оптимальної частоти, на якій буде вестися розмова. В основі цього програмного продукту і використовуються генетичні алгоритми.
Основні принципи генетичних алгоритмів були сформульовані Голландії (Holland, 1975), і добре описані у багатьох роботах. На відміну від еволюції, яка відбувається у природі, генетичний алгоритм тільки моделюють ті процеси в популяціях, які є істотними для розвитку. Точну відповідь на запитання: які біологічні процеси істотні для розвитку, і які ні? - Все ще відкрите для дослідників.

Реалізація генетичних алгоритмів

У природі особини в популяції конкурують один з одним за різні ресурси, такі, наприклад, як їжа або вода. Крім того, члени популяції одного виду часто конкурують за залучення шлюбного партнера. Ті особини, які найбільш пристосовані до навколишніх умов, будуть мати відносно більше шансів відтворити нащадків. Слабо пристосовані особини або зовсім не справлять потомства, або їх потомство буде дуже нечисленним. Це означає, що гени від високо адаптованих або пристосованих особин будуть розповсюджуватись у збільшенні кількості нащадків на кожному наступному поколінні. Комбінація гарних характеристик від різних батьків іноді може призводити до появи "суперпріспособленного" нащадка, чия пристосованість більше, ніж пристосованість будь-якого з його батька. Таким чином, вид розвивається, краще і краще пристосовуючись до середовища проживання.
Генетичні алгоритми використовують пряму аналогію з таким механізмом. Вони працюють із сукупністю "особин" - популяцією, кожна з яких представляє можливе рішення даної проблеми. Кожна особина оцінюється мірою її "пристосованості" згідно з тим, наскільки "добре" відповідне їй рішення задачі. Наприклад, запобіжним пристосованості могло б бути ставлення сили / ваги для даного проекту моста. (У природі це еквівалентно оцінці того, наскільки ефективний організм при конкуренції за ресурси.) Найбільш пристосовані особини отримують можливість "відтворює" потомство за допомогою "перехресного схрещування" з іншими особинами популяції. Це призводить до появи нових особин, які поєднують у собі деякі характеристики, успадковані ними від батьків. Найменш пристосовані особини з меншою ймовірністю зможуть відтворити нащадків, так що ті властивості, якими вони володіли, будуть поступово зникати з популяції в процесі еволюції.
Так і відтворюється вся нова популяція допустимих рішень, вибираючи кращих представників попереднього покоління, схрещуючи їх і отримуючи безліч нових особин. Це нове покоління містить більш високе співвідношення характеристик, якими володіють хороші члени попереднього покоління. Таким чином, з покоління в покоління, гарні характеристики поширюються по всій популяції. Схрещування найбільш пристосованих особин призводить до того, що досліджуються найбільш перспективні ділянки простору пошуку. У кінцевому підсумку, популяція буде сходитися до оптимального рішення задачі.
Є багато способів реалізації ідеї біологічної еволюції в рамках генетичного алгоритму. Традиційним вважається генетичний алгоритм, представлений на схемі 1:
ПОЧАТОК / генетичний алгоритм /
Створити початкову популяцію
Оцінити пристосованість кожної особини
останов: = FALSE
ПОКИ НЕ останов ВИКОНУВАТИ
ПОЧАТОК / створити популяцію нового покоління /
ПОВТОРИТИ (размер_популяціі / 2) РАЗ
ПОЧАТОК / * цикл відтворення * /
Вибрати дві особини з високою пристосованістю з попереднього покоління для схрещування.
Схрестити вибрані особини і отримати двухпотомков
Оцінити пристосованості нащадків
Помістити нащадків в нове покоління
КІНЕЦЬ
ЯКЩО популяція зійшлася ТО останов: = TRUE
КІНЕЦЬ
КІНЕЦЬ
Схема 1. Реалізація генетичного алгоритму
В останні роки, реалізовано багато генетичних алгоритмів і в більшості випадків вони мало схожі на цей генетичний алгоритм. З цієї причини в даний час під терміном "генетичні алгоритми" ховається не одна модель, а досить широкий клас алгоритмів, часом мало схожих один від одного. Дослідники експериментували з різними типами уявлень, операторів кросовера і мутації, спеціальних операторів, і різних підходів до відтворення і відбору.
Хоча модель еволюційного розвитку, застосовувана в генетичному алгоритмі, сильно спрощена в порівнянні зі своїм природним аналогом, тим не менш генетичний алгоритм є досить потужним засобом і може з успіхом застосовуватися для широкого класу прикладних задач, включаючи ті, які важко, а іноді і зовсім неможливо , вирішити іншими методами. Проте, генетичні алгоритми, як і інші методи еволюційних обчислень, не гарантує виявлення глобального рішення за поліноміальний час. Генетичні алгоритми не гарантують і того, що глобальне рішення буде знайдено, але вони гарні для пошуку "досить хорошого" розв'язання задачі "досить швидко". Там, де завдання може бути вирішена спеціальними методами, майже завжди такі методи будуть ефективніше генетичних алгоритмів і у швидкодії і в точність знайдених рішень. Головною ж перевагою генетичних алгоритмів є те, що вони можуть застосовуватися навіть на складних завданнях, там, де не існує жодних спеціальних методів. Навіть там, де добре працюю існуючі методики, можна досягти поліпшення поєднанням їх з генетичними алгоритмами.

Застосування генетичних алгоритмів

Генетичні алгоритми в різних формах застосувались до багатьох наукових і технічних проблем. Генетичні алгоритми використовувались при створенні інших обчислювальних структур, наприклад, автоматів або мереж сортування. У машинному навчанні вони використовувалися при проектуванні нейронних мереж або управлінні роботами. Вони також застосовувалися при моделюванні розвитку в різних предметних областях, включаючи біологічні (екологія, імунологія і популяційна генетика), соціальний (такі як економіка і політичні системи) і когнітивні системи.
Тим не менш, можливо найбільш популярний додаток генетичних алгоритмів - оптимізація багатопараметричних функцій. Багато реальні завдання можуть бути сформульовані як пошук оптимального значення, де значення - складна функція, що залежить від деяких вхідних параметрів. У деяких випадках, представляє інтерес знайти ті значення параметрів, при яких досягається найкраще точне значення функції. В інших випадках, точний оптимум не потрібно - рішенням може вважатися будь-яке значення, яке краще деякої заданий величини. У цьому випадку, генетичні алгоритми - часто найбільш прийнятний метод для пошуку "хороших" значень. Сила генетичного алгоритму полягає в його здатності маніпулювати одночасно багатьма параметрами, ця особливість генетичного алгоритму використовувалося в сотнях прикладних програм, включаючи проектування літаків, налаштування параметрів алгоритмів і пошуку стійких станів систем нелінійних диференціальних рівнянь.
Проте нерідкі випадки, коли генетичний алгоритм працює не так ефективно, як очікувалося. Припустимо, є реальне завдання, сполучена з пошуком оптимального рішення, як дізнатися, чи є генетичний алгоритм гарним методом для її вирішення? До теперішнього часу не існує суворого відповіді, однак багато дослідників поділяють припущення, що якщо простір пошуку, яке належить досліджувати, - велике, і передбачається, що воно не зовсім гладке і унімодальне (тобто містить один гладкий екстремум) або не дуже зрозуміло , або якщо функція пристосованості з шумами, або якщо завдання не вимагає суворо знаходження глобального оптимуму - тобто якщо достатньо швидко просто знайти прийнятне "гарне" рішення (що досить часто має місце в реальних завданнях) - генетичний алгоритм буде мати гарні шанси стати ефективною процедурою пошуку, конкуруючи і перевершуючи інші методи, які не використовують знання про простір пошуку.
Якщо ж простір пошуку невелике, то рішення може бути знайдене методом повного перебору, і можна бути впевненим, що найкраще можливе рішення знайдено, тоді як генетичний алгоритм міг з більшою ймовірністю зійтися до локального оптимуму, а не до глобально кращому вирішенню. Якщо простір гладке і унімодальне будь градієнтний алгоритм, такий як, метод швидкого спуску буде більш ефективний, ніж генетичний алгоритм. Якщо про простір пошуку є деяка додаткова інформація (як, наприклад, простір для добре відомої задачі про комівояжера), методи пошуку, що використовують евристики, що визначаються простором, часто перевершують будь-який універсальний метод, яким є генетичний алгоритм. При досить складному рельєфі функції пристосованості методи пошуку з єдиним рішенням у кожен момент часу, такий як простий метод спуску, могли "затикатися" у локальному вирішенні, проте вважається, що генетичний алгоритм, так як вони працюють з цілою "популяцією" рішень, мають менше шансів зійтися до локального оптимуму і робастної функціонують на багатоекстремального ландшафті.
Звичайно, такі припущення не передбачають суворо, коли генетичний алгоритм буде ефективною процедурою пошуку, що конкурує з іншими процедурами. Ефективність генетичного алгоритму сильно залежить від таких деталей, як метод кодування рішень, оператори, налаштування параметрів, приватний критерій успіху. Теоретична робота, відображена в літературі, присвяченій генетичним алгоритмам, не дає підстав говорити про вироблення будь-яких суворих механізмів для чітких прогнозів.

Символьна модель простого генетичного алгоритму

Мета в оптимізації за допомогою генетичного алгоритму полягає в тому, щоб знайти краще можливе рішення або рішення задачі по одному або декільком критеріям. Щоб реалізувати генетичний алгоритм потрібно спочатку вибрати відповідну структуру для подання цих рішень. У постановці задачі пошуку, примірник цієї структури даних представляє точку в просторі пошуку всіх можливих рішень.
Структура даних генетичного алгоритму складається з однієї або більшу кількість хромосом (зазвичай з однієї). Як правило, хромосома - це бітова рядок, так що термін рядок часто заміняє поняття "хромосома". У принципі, генетичні алгоритми не обмежені бінарним уявленням. Відомі інші реалізації, побудовані виключно на векторах дійсних чисел. Незважаючи на те, що для багатьох реальних задач, мабуть, більше підходять рядки змінної довжини, в даний час структури фіксованої довжини найбільш поширені і вивчені. Поки і ми обмежимося тільки структурам, які є поодинокими рядками по l біт.
Кожна хромосома (рядок) представляє собою конкатенацію ряду підкомпонентів званих генами. Гени розташовуються у різних позиціях або локусах хромосоми, і приймають значення, звані алелями. В уявленнях з бінарними рядками, ген - біт, локус - його позиція в рядку, і алель - його значення (0 або 1). Біологічний термін "генотип" відноситься до повної генетичної моделі особини і відповідає структурі в генетичному алгоритмі. Термін "фенотип" відноситься до зовнішніх піднаглядним ознаками і відповідає вектору в просторі параметрів. Надзвичайно простий, але ілюстративний приклад - завдання максимізації наступної функції двох змінних: (1)
f (x1, x2) = exp (x1x2), де 0 <x1 <1 і 0 <x2 <1. (1)
Зазвичай, методика кодування реальних змінних x1 і x2 полягає в їх перетворенні в двійкові цілочисельні рядка достатньої довжини - достатньою для того, щоб забезпечити бажану точність. Припустимо, що 10-розрядне кодування достатньо і для x1, x2 і. Встановити відповідність між генотипом і фенотипом закодованих особин можна, розділивши відповідне двійкове ціле число - на 210-1. Наприклад, 0000000000 відповідає 0 / 1023 або 0, тоді як 1111111111 відповідає 1023/1023 або 1. Оптимізується структура даних - 20-бітова рядок, що представляє конкатенацію кодувань x1 і x2. Змінна x1 розміщується в крайніх лівих 10-розрядах, тоді як x2 розміщується у правій частині генотипу особини (20-бітової рядку). Генотип - точка у 20-мірному хеммінінговом просторі, досліджуваному генетичним алгоритмом. Фенотип - точка у двовимірному просторі параметрів.
Щоб оптимізувати структуру, використовуючи генетичний алгоритм, потрібно задати деяку міру якості для кожної структури у просторі пошуку. Для цієї мети використовується функція пристосованості. У функціональній максимізації, цільова функція часто сама виступає в якості функції пристосованості (наприклад наш двовимірний приклад); для задач мінімізації, цільову функцію слід інвертувати і змістити потім в область позитивних значень.

Робота простого генетичного алгоритму

Простий генетичний алгоритм випадковим образом генерує початкову популяцію структур. Робота генетичного алгоритму являє собою ітераційний процес, який триває до тих пір, поки не виконаються задане число поколінь або будь-якої інший критерій зупинки. На кожному поколінні генетичного алгоритму реалізується відбір пропорційно пристосованості, одноточковий кросовер і мутація. Спочатку, пропорційний відбір призначає кожній структурі імовірність Ps (i) рівну відношенню її пристосованості до сумарної пристосованості популяції.
Потім відбувається відбір (із заміщенням) усіх n особин для подальшої генетичної обробки, згідно величиною Ps (i). Найпростіший пропорційний відбір - рулетка - відбирає особин за допомогою n "запусків" рулетки. Колесо рулетки містить по одному сектору для кожного члена популяції. Розмір i-ого сектора пропорційний відповідає величині Ps (i). При такому відборі члени популяції з більш високою пристосованістю з більшою ймовірність будуть частіше вибиратися, ніж особини з низькою пристосованістю.
Після відбору, n обраних особин піддаються кросоверу (іноді званого рекомбінацією) із заданою вірогідністю Pc. n рядків випадковим чином розбиваються на n / 2 пари. Для кожної пари з вірогідність Pc може застосовуватися кросовер. Відповідно з імовірністю 1-Pc кросовер не відбувається і незмінені особини переходять на стадію мутації. Якщо кроссовер відбувається, отримані нащадки заміняють собою батьків і переходять до мутації.
Одноточковий кросовер працює наступним чином. Спочатку, випадковим чином вибирається одна з l-1 точок розриву. (Точка розриву - ділянка між сусідніми бітами в рядку.) Обидві батьківські структури розриваються на два сегменти по цій точці. Потім, відповідні сегменти різних батьків склеюються і виходять два генотипу нащадків.
Наприклад, припустимо, один батько складається з 10 нулів, а інший - з 10 одиниць. Нехай з 9 можливих точок розриву обрана точка 3. Батьки і їхні нащадки показані нижче у табл.1:
Кросовер
Батько 0000000000 000 ~ 0000000 - 111 ~ 0000000 1110000000 Нащадок
1 січня
>
Батько 1111111111 111 ~ 1111111 - 000 ~ 1111111 0001111111 Нащадок
2 - 2
-
>
Схема 2
Після того, як закінчиться стадія кросовера, виконуються оператори мутації. У кожному рядку, що піддається мутації, кожен біт з імовірністю Pm змінюється на протилежний. Популяція, отримана після мутації записує поверх старої і цим цикл одного покоління завершується. Наступні покоління обробляються таким же чином: відбір, кросовер і мутація.
В даний час дослідники генетичних алгоритмів пропонують багато інших операторів відбору, кросовера і мутації. Ось лише найбільш поширені з них. Перш за все, турнірний. Турнірний відбір реалізує n турнірів, щоб вибрати n особин. Кожен турнір побудований на вибірці k елементів із популяції, і вибору кращої особини серед них. Найбільш поширений турнірний відбір з k = 2.
Елітні методи відбору гарантують, що при відборі обов'язково будуть виживати кращий чи кращі члени популяції сукупності. Найбільш поширена процедура обов'язкового збереження тільки одній кращій особини, якщо вона не пройшла як інші через процес відбору, кросовера і мутації. Елітизм може бути впроваджений практично в будь-який стандартний метод відбору.
Двоточковий кросовер і рівномірний кросовер - цілком гідні альтернативи одноточечного оператору. У двухточечной кросовері обираються дві точки розриву, і батьківські хромосоми обмінюються сегментом, який знаходиться між двома цими точками. У рівномірному кроссовере, кожен біт першого батька успадковується першим нащадком із заданою вірогідністю; у противному випадку цей біт передається другому нащадку. І навпаки.

Шима (schema)

Хоча зовні здається, що генетичний алгоритм обробляє рядки, насправді при цьому неявно відбувається обробка шим, які представляють шаблони подібності між рядками. Генетичний алгоритм практично не може займатися повним перебором всіх точок у просторі пошуку. Однак він може робити вибірку значного числа гіперплощини в областях пошуку з високою пристосованістю. Кожна така гіперплощина відповідає множині схожих рядків з високою пристосованістю.
Шима - це рядок довжини l (що й довжина будь-якого рядка популяції), що складається із знаків алфавіту {0; 1; *}, де {*} - невизначений символ. Кожна Шім'а визначає безліч всіх бінарних рядків довжини l, що мають у відповідних позиціях або 0, або 1, залежно від того, який біт знаходиться у відповідній позиції самої Шім'ї .. Наприклад, Шима, 10 ** 1, визначає собою безліч з чотирьох пятібітових рядків {10001; 10011; 10101; 10111}. У шим виділяють дві властивості - порядок і певна довжина. Порядок Шім'ї - це число певних бітів ("0" або "1") в Шім'ї. Певна довжина - відстань між крайніми певними бітами в Шім'ї. Наприклад, вищезгадана Шім'а має порядок o (10 ** 1) = 3, а певна довжина d (10 ** 1) = 4. Кожен рядок у популяції є прикладом шим.
Будують блоки
Будують блоки - це Шім'ї мають:
- Високою пристосованістю,
- Низьким порядком,
- Короткою певною довжиною.
Пристосованість Шім'ї визначається як середня пристосованість прикладів, які її містять.
Після процедури відбору залишаються тільки рядки з більш високою пристосованістю. Отже рядки, які є прикладами шим з високою пристосованістю, вибираються частіше. Кросовер рідше руйнує Шім'ї з коротшою певною довжиною, а мутація рідше руйнує Шім'ї з низьким порядком. Тому, такі Шім'ї мають більше шансів переходити з покоління в покоління. Голланд показав, що, в той час як генетичний алгоритм явним чином обробляє n рядків на кожному поколінні, в той же час неявно обробляються порядку таких коротких шим низького порядку і з високою пристосованістю (корисних шим, "useful schemata"). Він називав це явище неявним паралелізмом. Для вирішення реальних завдань, присутність неявного паралелізму означає, що велика популяція має більше можливостей локалізувати рішення експоненціально швидше популяції з меншим числом особин.

Теорема шим

Простий експоненціально збільшує число прикладів корисних шим або будують блоків. Доказом цього служить наступна теорема, відома як "теорема шим".
Нехай m (H, t) - число прикладів Шім'ї H в t-му поколінні. Обчислимо очікуване число прикладів H в наступному поколінні або m (H, t +1) в термінах m (H, t). Простий генетичний алгоритм кожному рядку ставить у відповідність імовірність її "виживання" при відборі пропорційно її пристосованості. Очікується, що Шима H може бути обрана m (H, t) Ч (f (H) / fср.) Раз, де fср. - Середня пристосованість популяції, а f (H) - середня пристосованість тих рядків у популяції, які є прикладами H.
Імовірність того, що одноточковий кросовер зруйнує шіму дорівнює ймовірності того, що точка розриву потрапить між певними бітами. Імовірність же того, що H "переживає" кросовер не менше 1-Pc_ (d (H) / l-1). Ця ймовірність - нерівність, оскільки Шім'а зможе вижити якщо у кросовері брав участь також приклад схожою Шім'ї. Імовірність того, що H переживе мутацію - (1-Pm) o (H), цей вислів можна апроксимувати як (1-o (H)) для малого Pm і o (H). Твір очікуваного число відборів і ймовірностей виживання відомо як теорема шим (3):
m (H, t +1) (3)
Теорема шим показує, що будують блоки ростуть по експоненті, в той час Шім'ї з пристосованістю нижче середньої розпадаються з тією ж швидкістю. У своїх дослідженнях теореми шим Goldberg висуває гіпотезу будують блоків, яка полягає в тому, що "будують блоки поєднуються, щоб сформувати найкращі рядки". Тобто рекомбінація та експонентний ріст будують блоків веде до формування кращих будують блоків.
У той час як теорема шим пророкує зростання прикладів хороших шим, сама теорема дуже спрощено описує поведінку генетичних алгоритмів. Перш за все, f (H) і fср. не залишаються постійними від покоління до покоління. Пристосованості членів популяції знаменно змінюються вже після кількох перших поколінь. По-друге, теорема шим пояснює втрати шим, але не поява нових. Нові Шім'ї часто створюються кросовером і мутацією. Крім того, у міру еволюції, члени популяції стають все більш і більш схожими один на одного так, що зруйновані Шім'ї будуть відразу ж відновлено. Нарешті, доказ теореми шим побудовано на елементах теорії ймовірності і отже не враховує розкид значень, у багатьох цікавих завданнях, розкид значень пристосованості Шім'ї може бути досить великий, роблячи процес формування шим дуже складним. Істотна різниця пристосованості Шім'ї може призвести до збіжності до неоптимальної рішенням.
Незважаючи на простоту, теорема шим описує кілька важливих аспектів поведінки генетичних алгоритмів. Мутації з більшою ймовірністю руйнують Шім'ї високого порядку, в той час як кросовера з більшою ймовірність руйнують Шім'ї з більшою певною довжиною. Коли відбувається відбір, популяція сходиться пропорційно відношенню пристосованості кращої особини, до середньої пристосованості в популяції; це ставлення - міра тиску відбору. Збільшення або Pc, або Pм., Або зменшенні тиску відбору, веде до збільшеного здійсненню вибірки або дослідження простору пошуку, але не дозволяє використовувати всі хороші Шім'ї, якими володіє генетичний алгоритм. Зменшення або Pc, або Pм., Або збільшення тиску вибору, веде до поліпшення використання знайдених шим, але гальмує дослідження простору в пошуках нових гарних шим. Генетичний алгоритм повинен підтримати рівновагу між тим і іншим, що зазвичай відомо як проблема "балансу дослідження та використання".
Деякі дослідники критикували зазвичай швидку збіжність генетичного алгоритму, заявляючи, що випробування величезних кількостей перекриваються шим вимагає більшої вибірки і більш повільною, більш керованою збіжності. У той час як збільшити вибірку шим можна збільшивши розмір популяції, методологія управління збіжність простого генетичного алгоритму до цих пір не вироблена.

Перспективні напрямки розвитку нейрокомп'ютерних технологій

Детальний аналіз зарубіжних розробок нейрокомп'ютерів дозволив виділити основні перспективні напрямки сучасного розвитку нейрокомп'ютерних технологій: нейропакета, нейромережеві експертні системи, СУБД із включенням нейромережевих алгоритмів, обробка зображень, керування динамічними системами й обробка сигналів, управління фінансовою діяльністю, оптичні нейрокомп'ютери, віртуальна реальність. Сьогодні розробками в цій області займається більше 300 зарубіжних компаній, причому число їх постійно збільшується. Серед них такі гіганти як Intel, DEC, IBM і Motorolla. Сьогодні спостерігається тенденція переходу від програмної емуляції до програмно-апаратної реалізації нейромережевих алгоритмів з різким збільшенням числа розробок НВІС нейрочіпів з нейромережевої архітектурою. Різко зросла кількість військових розробок, в основному спрямованих на створення надшвидких, "розумних" супервичіслітелей.
Якщо говорити про головне перспективному напрямку - інтелектуалізації обчислювальних систем, надання їм властивостей людського мислення і сприйняття, то тут нейрокомп'ютери - практично єдиний шлях розвитку обчислювальної техніки. Багато невдачі на шляху вдосконалення штучного інтелекту протягом останніх 30 років пов'язано з тим, що для вирішення важливих і складних по постановці завдань вибиралися обчислювальні засоби, не адекватні по можливостях розв'язуваної задачі, в основному з числа комп'ютерів, що є під рукою. При цьому як правило не вирішувалося завдання, а показувалася принципова можливість її рішення. Сьогодні активний розвиток систем MPP створило об'єктивні умови для побудови обчислювальних систем, адекватних по можливостях і архітектурі практично будь-яким завданням штучного інтелекту.
У Японії з 1993 року прийнята програма "Real world computing program",. Її основна мета - створення адаптивної, що еволюціонує ЕОМ. Проект розрахований на 10 років. Основою розробки є нейротехнологія, використовувана для розпізнавання образів, обробки семантичної інформації, управління інформаційними потоками і роботами, які здатні адаптуватися до навколишнього оточення. Тільки в 1996 році було проведено близько сотні міжнародних конференцій з нейрокомп'ютери і суміжних проблем. Розробки нейрокомп'ютерів ведуться в багатьох країнах світу і навіть в Австралії створений свій зразок комерційного супернейрокомпьютера.
У 1996 році московська компанія "Тора-Центр" починає безпрецедентну акцію - продаж у Росії ліцензійного пакета моделювання нейронних мереж BrainMaker виробництва California Scientific Software. Пакет призначався для моделювання багатошарових нейронних мереж з повними послідовними зв'язками, учнями за методом зворотного розповсюдження помилки (error backpropagation), виявився простий у використанні і надавав багато можливостей по зміні топології багатошарової мережі та алгоритму навчання, хоча і був дещо складний для першого сприйняття. У пакеті не було передбачено захисту від копіювання, він розміщувався на стандартній 3,5-дюймовій дискеті. При цьому розробником було обумовлено, що BrainMaker орієнтований в першу чергу на вирішення фінансових завдань, і основними його споживачами повинні стати банки і великі фінансові компанії - сектор ринку, де в той час були зосереджені основні вітчизняні фінансові ресурси. Розрахунок виявився вірним - завдяки потужній рекламній підтримці нейропакета BrainMaker придбав у Росії небувалу популярність; через деякий час він навіть з'явився на піратських компакт-дисках.
У той період з'явилися й інші нейропакета, наприклад, AI Trilogy від Ward Systems Group та у продаж надійшов нейрокомп'ютерних прискорювач CNAPS компанії Adaptive Solutions, що представляє собою апаратний прискорювач, побудований на базі одного або декількох нейрочіпів того ж виробника. За оцінками, для деяких завдань він може дати виграш в продуктивності до 1000 разів у порівнянні з самим передовим на той момент комп'ютером з процесором Pentium. Випускався CNAPS до 1997-1998 років, після чого був знятий з виробництва, швидше за все, через нерентабельність.
Слово "нейро" стає в Росії модним - майже кожен поважаючий себе банк вважає обов'язком купити ліцензійний нейропакета і поставити красиву білу коробку на полицю. На жаль, політика компанії "Тора" не передбачала подальшого інформаційного та методичного супроводу свого дітища, а консультації з розробки нейромережевих алгоритмів з використанням цього нейропакета пропагувалися, в основному, на папері. Тому велика кількість куплених нейропакета так і залишилося припадати пилом на полицях. Незважаючи на це і, незважаючи на те, що окремі користувачі сприйняли нейропакета як "засіб від усіх бід", який сам по собі може вирішити будь-яке завдання, а бездумне використання нейропакета призвело до певної дискретизації нейрокомп'ютингу, проведена акція стала величезним кроком на шляху нейрокомпьютерізаціі країни , бо масовий розробник дізнався, що існує новий клас алгоритмів під назвою "нейронні мережі" і що з їх допомогою можна ефективно вирішувати різні задачі.
Доля ж апаратного нейрокомпьютерной прискорювача CNAPS сумніша. Потужний нейроускорітель був потрібен для вирішення тільки суперзавдань, яких не так вже й багато, а для вирішення переважної більшості завдань достатньо ПК і пакета моделювання нейронних мереж, того ж BrainMaker, наприклад. Тому нейроускорітель виявився просто не затребуваний ринком, до того ж його ціна в декілька тис. дол і необхідність освоєння специфічного програмного забезпечення відлякувала потенційних споживачів. Фактично питання було поставлено руба - "а чи потрібен нейроускорітель для вирішення звичайних завдань", і на нього була отримана негативна відповідь. Кількість проданих примірників нейроускорітеля можна було перерахувати по пальцях. Правда, компанія "ОГО", що займалася зерновими поставками, активно доводила, як вона ефективно використовує нейроускорітель для вирішення своїх завдань, але, по всій видимості, це була в основному рекламна акція. Поступово інтерес до CNAPS затих. Коли пізніше в Siemens спробували повторити цей шлях і впровадити на російський ринок свій нейрокомп'ютер Synaps-1 вартістю 400 тис. дол, то натрапила на ту ж саму проблему - нейрокомп'ютер виявився незатребуваним.
Це, звичайно, не означає, що апаратні нейроускорітелі й еволюційний не потрібні - просто вони використовуються вузьким колом колективів, які займаються вирішенням саме суперзавдань, а масовому користувачеві вони дійсно ні до чого. Для довідки, в Росії ряд наукових колективів мають у своєму розпорядженні і нейрокомп'ютери і супермашини для моделювання нейронних мереж, але їх мало.

Висновок

Що ж стосується прогнозів, які, як відомо, справа невдячна, то спробую їх зробити. На мій погляд, є два об'єктивних критерію, за яким можна оцінювати майбутнє тих чи інших розробок: використання у військовій сфері, а також застосування в ширвжитковий побутової техніки. Так було і зі звичайними комп'ютерами, з'явившись на світ у середині століття, які спочатку використовувалися для військових цілей, а потім стали масовим явищем, знайшовши своє місце серед предметів широкого споживання. Те ж саме відбувається і з нейрокомп'ютера - спочатку використання у військових цілях, а потім у побуті. Вже зараз у відкритій пресі іноді трапляються нотатки, що та чи інша фірма створила і впровадила нейромережевої блок системи управління винищувачем, використовувала нейрочіпи в системах наведення ракет або застосувала нейромережеві методи обробки для розпізнавання цілей в радіолокаторах і так далі. Швидше за все, це означає, що область застосування нейромережевих технології набагато ширше, оскільки більшість розробок все ж засекречені. З іншого боку, вже зараз спостерігається впровадження нейрокомп'ютерів в звичайні побутові прилади - прикладами можуть служити кондиціонери LG із вбудованим нейромережевих блоком інтелектуального управління, пральні машини Samsung з чіпом нечіткої логіки всередині (це хоч і не "нейро", але близько), побутові відеокамери Panasonic з нейронечіткої системою наведення на різкість (список при бажанні можна продовжити) і, нарешті, дослідження Microsoft по створенню нейромережевої системи розпізнавання мовлення для майбутніх операційних систем.
Все це свідчить про те, що нейрокомп'ютери займають все більш міцні позиції в нашому повсякденному житті. Звичайно, було б нерозумно стверджувати, що в найближчому майбутньому нейрокомп'ютери замінять собою звичайні комп'ютери. Цього не відбудеться ні зараз, ні потім, оскільки "нейроподход" ефективний не для всіх задач. Але там, де Нейротехнології мають незаперечні переваги перед іншими алгоритмічними методами неминуче поступово відбудеться заміна існуючих апаратних засобів і програм на нейрокомп'ютери і нейромережне програмне забезпечення.

Література

1. Галушкін А. Сучасні напрямки розвитку нейрокомп'ютерних технологій в Росії / / Відкриті системи. - 1997 р., № 4.
2. Каллан Р. Основні концепції нейронних мереж. М.: Вільямс 2002
3. Комарцова Л.Г., Максимов О.В. Нейрокомп'ютери: Учеб. посібник для вузів. - 2-е вид., Перераб. і доп. - М.: Із МГТУ ім. Н.Е. Баумана, 2004. - 400 с: іл.
4. Логовський А. Новітня історія нейрокомп'ютингу в Росії / / Відкриті системи. - 2001 р., № 3.
5. Оссовський С. Нейронні мережі для обробки інформації / Пер. з польської І.Д. Рудинського. - М.: Фінанси і статистика, 2002. - 344 с: іл.
6. Рутковська Д., Піліньскій М., Рутковський Л. Нейронні мережі, генетичні алгоритми й нечіткі системи: Пер. з пол. І. Д. Рудинського. - М.: Гаряча лінія-Телеком, 2006. - 452 с: іл.
7. Стюарт Рассел, Пітер Норвіг. Штучний інтелект: сучасний підхід. 2-е видання М., Вільямс 2006
8. Тархов Д.А. Нейронні мережі. Моделі та алгоритми. Вид: Радіотехніка. 2005
9. Уоссермен Ф. Нейрокомп'ютерні техніка. Теорія і практика. М.: Світ, 1992 р.
10. Ях'яева Г. Е. Нечіткі множини та нейронні мережі: Навчальний посібник / Г. Е. Ях'яева. - М.: Інтернет-Університет Інформаційних Технологій; БІНОМ. Лабораторія знань, 2006.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
104кб. | скачати


Схожі роботи:
Використання генетичних алгоритмів в САПР ТП
Нейрокомп`ютери
Обробка зображень на основі аналогових нейрокомп`ютерів
Функціональна схема комп`ютера Основні пристрої комп`ютера та їх функції
Генетика Методи генетичних досліджень
Застосування генетичних методів в судовій медицині
Що можна зробити за допомогою генетичних модифікацій
Трасування в комутаційному блоці на основі генетичних процедур
СЕМЕНА РУЙНУВАННЯ. Таємна підгрунтя генетичних маніпуляцій Енгдаль Вільям Ф.
© Усі права захищені
написати до нас